/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package rule;

/**
 *
 * @author Omega
 */
public abstract class Clause implements ClauseInterface{
    private double score;
    private String log;
    private String pass;

    public Clause(String p) {
        this.score = 0;
        this.log = "";
        pass = p;
    }

    public Clause() {
        this.score = 0;
        this.log = "";
    }
    
    public String getPass(){
        return pass;
    };
    
    public String getLog() {
        return log;
    }

    public void setLog(String log) {
        this.log = log;
    }

    public double getScore() {
        return score;
    }

    public void setScore(double score) {
        this.score = score;
    }
    
    @Override
    public abstract boolean checkConditions();
    
    public double punctuate(double score) {
        setScore(score);
        return score;
    }
    
    public String outputMessage(){
        return "";
    }
    public int count(){
        return 0;
    }
    
}
